Strengthen, Widen, Get Semaphores
نویسندگان
چکیده
Many parallel programs are expressed in terms of conditional atomic actions with different degrees of atomicity. It is known that these synchronization primitives are expensive to implement in its fully generality [2]. Many platforms provide an efficient set of synchronization primitives. Semaphores are a very special case of conditional atomic actions which can be considered a canonical synchronization primitive. There exist methods to transform general conditional atomic actions into these very special ones. One of the simplest is the Change of Variables method introduced in [1,2] and generalized in [10]. We review and improve this method in the context of formal development of multiprograms [4,7].
منابع مشابه
An Efficient Solution to the Mutual Exclusion Problem Using Weak Semaphores
We present a simple solution to the mutual exclusion problem with no lockout that uses weak binary semaphores. Previously, Morris [4] presented a solution to this problem that uses three binary semaphores and two variable-size shared variables. A simpler solution was given in [5], where just two semaphores and two shared singlebit variables are used. (In some earlier versions, an incorrect one-...
متن کاملAlgebra of Synchronization with Application to Deadlock and Semaphores
Modern multiprocessor architectures have exacerbated problems of coordinating access to shared data, in particular as regards to the possibility of deadlock. For example semaphores, one of the most basic synchronization primitives, present difficulties. Djikstra defined semaphores to solve the problem of mutual exclusion. Practical implementation of the concept has, however, produced semaphores...
متن کاملInternational Journal of Networking and Computing – www.ijnc.org Algebra of Synchronization with Application to Deadlock and Semaphores
Modern multiprocessor architectures have exacerbated problems of coordinating access to shared data, in particular as regards to the possibility of deadlock. For example semaphores, one of the most basic synchronization primitives, present difficulties. Djikstra defined semaphores to solve the problem of mutual exclusion. Practical implementation of the concept has, however, produced semaphores...
متن کاملProcess Scheduling and UNIX Semaphores
Semaphores have been used extensively in programming concurrent tasks. Various extensions have been proposed for problems in which traditional semaphores turned out to be difficult to use. The extended semaphore primitives investigated here are based on the version of semaphores implemented in UNIX System V. Implementation issues are discussed and practical illustrations of their use are provid...
متن کاملProving Properties of Real-Time Semaphores
Much work has been undertaken on investigating the use of semaphore primitives in concurrent programming languages. It has been shown that semaphores are adequate for expressing many forms of concurrency control, including the enforcement of communication protocols, and mutual exclusion protocols on shared resources. In this paper we present a formal language for real-time distributed programs ...
متن کامل